1. Field of the Invention
The present invention relates in general to a method and system for managing data storage systems and in particular to a method and system for managing data storage systems through graphical illustration of data storage systems. Still more particularly, the present invention relates to a method and system for automatically graphically displaying an iconic representation of data storage systems in response to user selections.
2. Description of the Related Art
As the performance of microprocessor and semiconductor memory technology increases, there is a need for improved data storage systems with comparable performance enhancements. Additionally, in enhancing the performance of data storage systems, there is a need for improved reliability of data stored. In 1988, a paper was published by Patterson, Gibson, Katz, A Case for Redundant Arrays of Inexpensive Disks (RAID), International Conference on Management of Data, pgs. 109-116, June 1988. This paper laid the foundation for the use of redundant arrays of inexpensive disks that would not only improve the data transfer rate and data I/O rate over a comparable single disk access, but would also provide error correction at a lower cost.
RAID includes an array of disks which are typically viewed by a host, such as a computer system, as a single disk. A RAID controller may be a hardware and/or software tool for providing an interface between the host and the array of disks. Preferably, the RAID controller manages the array of disks for storage and retrieval and can view the disks of the RAID separately. The disks included in the array may be any type of data storage systems which can be controlled by the RAID controller when grouped in the array.
The RAID controller is typically configured to access the array of disks as defined by a particular xe2x80x9cRAID level.xe2x80x9d The RAID level specifies how the data is distributed across the disk drives and how error correction is accomplished. In the paper noted above, the authors describe five RAID levels (RAID Level 1-RAID level 5). Since the publication of the paper, additional RAID levels have been designated.
RAID levels are typically distinguished by the benefits included. Three key benefits which may be included in a RAID level are fault tolerance, data availability and high performance. Fault tolerance is typically achieved through an error correction method which ensures that information can be reconstructed in the event of a disk failure. Data availability allows the data array to continue to operate with a failed component. Typically, data availability is achieved through a method of redundancy. Finally, high performance is typically achieved by simultaneous access to multiple disk drives which results in faster I/O and data transfer requests.
By the error correction method, in many RAID levels, additional parity data is stored with the original data. Parity data may be utilized to recover lost data due to disk failure. Parity data is typically stored on one or more disks dedicated for error correction only, or distributed over all of the disks within an array.
By the method of redundancy, data is stored in multiple disks of the array. Redundancy is a benefit in that redundant data allows the storage system to continue to operate with a failed component while data is being replaced through the error correction method. Additionally, redundant data is more beneficial than back-up data because back-up data is typically outdated when needed whereas redundant data is current when needed.
In many RAID levels, redundancy is incorporated through data interleaving which distributes the data over all of the data disks in the array. Data interleaving is usually in the form of data xe2x80x9cstripingxe2x80x9d in which data to be stored is broken down into blocks called xe2x80x9cstripe unitsxe2x80x9d which are then distributed across the array of disks. Stripe units are typically predefined as a bit, byte, block or other unit. A xe2x80x9cstripexe2x80x9d is a group of corresponding stripe units, one stripe unit from each disk in the array. Thus, xe2x80x9cstripe sizexe2x80x9d is equal to the size of a stripe unit times the number of data disks in the array.
In an example, RAID level 5 utilizes data interleaving by striping data across all disks and provides for error correction by distributing parity data across all disks. I/O request rates for RAID level 5 are high because the distribution of parity data allow the system to perform multiple read and write functions at the same time. RAID level 5 offers high performance, data availability and fault tolerance for the data disks.
Alternatively, in RAID level 1, neither data interleaving nor parity data are utilized. RAID Level 1 utilizes a method of redundancy which is typically referred to as xe2x80x9cdisk mirroring.xe2x80x9d In disk mirroring, data is stored on two disks which are said to mirror each other because they contain the same data. In the case of a disk failure, redundant data can be accessed on the mirror disk to provide data availablity and the data in the failed disk can be reconstructed from the redundant data in the mirror disk. Data availablity and fault tolerance are high for RAID level 1, but RAID level 1 does not offer high performance and is typically more costly to implement than other RAID level configurations.
Disk arrays are preferably configured to include logical drives which divide the physical drives in the disk array into logical components which may be viewed by the host as separate drives. Each logical drive includes a cross section of each of the physical drives and is assigned a RAID level. For example, a RAID system may include 10 physical drives in the array. The RAID system is accessible by a network of 4 users and it is desirable that each of the users have separate storage on the disk array. Therefore the physical drives will be divided into four logical drives where each user has access to one of the four logical drives. Logical drive 1 needs to be configured to RAID level 5. Therefore, data will be interleaved across the cross sections of nine of the physical drives utilized by logical drive 1 and parity data will be stored in the cross section of the remaining physical drive.
In configuring RAID systems, there are three primary interaction methods that exist in current configuration programs: command line, physical device location, and trees. Each of the configuration programs requires a user to have knowledge of how RAID systems work, or to rely on default settings. Reliance on default settings often does not compensate for additional equipment added to the RAID system with the intention of enhancing performance.
Command line interfaces require that the user enter textual commands to configure a RAID system. Command line interfaces do not provide a display of the configuration of the RAID system so the user must have a specific understanding of the storage system before using the interface.
Physical device location interfaces display the assumed location of the physical drives within a literal or symbolic representation of the computer hardware that contains the drives. This interface is suitable for understanding physical drives available, but arrays of disks are displayed either by placing an array letter next to the physical drive and its location or by displaying the arrays in a different location entirely. Logical drives are generally not displayed at all. Therefore, the interface is limited in that the interface does not provide the user with a display for properly configuring a RAID system.
Trees display hierarchical lists of components of a RAID system, however the components of a RAID system are not all hierarchical in nature which leads to difficulty in navigating trees. Users may not know in which array a specific physical drive is located, so the tree has to have a special branch for physical drives. Additionally, an array branch is shown including the physical drives included. Therefore, a single physical drive may be displayed under the category of the array it is part of and under the category of the physical drives of the array. The appearance of a single physical drive in multiple locations can be confusing to a user. Logical drives may also be shown similarly in multiple locations.
In many cases, highly knowledgeable technicians may configure a system whereby the above mentioned methods are satisfactory. However, just as often novice users must configure systems and must gain a large understanding of the system in order to use the configuration methods available. Often, novice users require a great deal of technical support to configure their systems by the methods available. It should therefore be apparent that a need exists for a method and system which graphically represents computer storage systems such that users can easily understand and manage their computer storage systems.
It is therefore one object of the present invention to provide a method and system for managing data storage systems.
It is another object of the present invention to provide a method and system for managing data storage systems through graphical illustration of data storage systems.
It is yet another object of the present invention to provide a method and system for graphically displaying an iconic representation of the data storage systems in response to user selections.
The foregoing objects are achieved as is now described. A method and system are disclosed for managing a plurality of data storage systems. A plurality of graphically designatable data storage systems are displayed within a computer system display. A subset of the plurality of graphically designatable data storage systems are selected to be utilized in a data storage array. A data distribution mode for the data array is designated. An iconic representation of selected data storage systems of the data storage array is automatically graphically displayed in response to the selected subset of data storage systems and the designated data distribution mode such that complete data storage arrays may be graphically illustrated for management purposes.